package com.bytedance.frameworks.baselib.network.http.cronet;

import android.content.Context;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.util.Map;
import java.util.concurrent.Executor;

public interface ICronetClient {
    public static final String KEY_CONNECT_TIME = "connect_time";
    public static final String KEY_DNS_TIME = "dns_time";
    public static final String KEY_PUSH_TIME = "push_time";
    public static final String KEY_RECEIVED_BYTE_COUNT = "received_byte_count";
    public static final String KEY_RECEIVE_TIME = "receive_time";
    public static final String KEY_REMOTE_IP = "remote_ip";
    public static final String KEY_SEND_BYTE_COUNT = "send_byte_count";
    public static final String KEY_SEND_TIME = "send_time";
    public static final String KEY_SOCKET_REUSED = "socket_reused";
    public static final String KEY_SSL_TIME = "ssl_time";
    public static final String KEY_TOTAL_TIME = "total_time";
    public static final String KEY_TTFB = "ttfb";

    String getCronetVersion();

    void getRequestMetrics(HttpURLConnection arg1, Map arg2);

    boolean isCronetHttpURLConnection(HttpURLConnection arg1);

    HttpURLConnection openConnection(Context arg1, String arg2, boolean arg3, String arg4, Executor arg5) throws IOException;

    void setCronetEngine(Context arg1, boolean arg2, boolean arg3, boolean arg4, boolean arg5, String arg6, Executor arg7);
}

